package cn.fintecher.pangolin.service.manage.request;

import cn.fintecher.pangolin.common.enums.*;
import cn.fintecher.pangolin.entity.elastic.CollectorModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Auther: xiaqun
 * @Description: 新增策略请求
 * @Date: 16:39 2019/8/30
 */

@Data
public class AddStrategyRequest {
    @ApiModelProperty(value = "主键ID")
    private String id;

    @ApiModelProperty(value = "策略名称")
    @NotNull(message = "strategy.name.is.required")
    private String name;

    @ApiModelProperty(value = "策略类型")
    @NotNull(message = "strategy.strategyType.is.required")
    private StrategyType strategyType;

    @ApiModelProperty(value = "委托方集合")
    private List<String> principalIds;

    @ApiModelProperty(value = "案件类型")
    private CaseType caseType;

    @ApiModelProperty(value = "优先级")
    @NotNull(message = "strategy.priority.is.required")
    private Integer priority;

    @ApiModelProperty(value = "策略分配类型")
    @NotNull(message = "strategy.type.is.required")
    private StrategyDistributeType type;

    @ApiModelProperty(value = "公式JSON")
    @NotNull(message = "strategy.formulaJson.is.required")
    private String formulaJson;

    @ApiModelProperty(value = "是否综合分配")
    @NotNull(message = "strategy.isComplex.is.required")
    private BaseSelect isComplex;

    @ApiModelProperty(value = "分案模型集合")
    @NotNull(message = "strategy.models.is.required")
    private List<CollectorModel> models;
}
